/*
 * Main.java
 *
 * Created on 20 marzec 2007, 20:58
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package server;


import data.Employee;
import data.Team;
import data.VacQuota;
import data.Vacation;
import java.rmi.*;
import java.util.Date;
import java.util.Set;

/**
 *
 * @author xavex
 */
public interface VacationServer extends Remote {

    public String getHelloWorld() throws RemoteException;
    
    public Set<Team> getTeams() throws RemoteException;
    public Team saveTeam( Team team ) throws RemoteException;
    public Set<Team> saveTeams( Set<Team> teams ) throws RemoteException;
    public Team reloadTeam( Team team, boolean withMembers, boolean withQuotas ) throws RemoteException;   
        
    public Employee saveEmployee( Employee emp ) throws RemoteException;
    public Set<Employee> saveEmployees( Set<Employee> emps ) throws RemoteException;
    public Employee reloadEmployeeWithVacations( Employee emp ) throws RemoteException;
    public Set<Employee> reloadEmployeesWithVacations( Set<Employee> emps ) throws RemoteException;
    public Set<Employee> getEmployees() throws RemoteException;            
    
    public VacQuota saveQuota( VacQuota quota ) throws RemoteException;
    public Set<VacQuota> saveQuotas( Set<VacQuota> quotas ) throws RemoteException;
    
    public Vacation getVacation( int year, int month, int day ) throws RemoteException;
    public Vacation reloadVacationWithEmployees( Vacation vac ) throws RemoteException;
    public Vacation saveVacation( Vacation vac ) throws RemoteException;
    
    public void delete( Object o ) throws RemoteException;
    
}
